Field of the Invention
The present invention relates to an information processing apparatus capable of controlling installation of an application, a method of controlling the same, and a storage medium.
Description of the Related Art
In recent years, in an information processing apparatus, such as an image forming apparatus, an application operating environment, notably a Java™ environment, has come to be provided. Further, a technique is proposed which provides an extensible application by making use of the portability of a program provided in an application operating environment such as Java™. Java™ is a registered trademark of Oracle® and/or its affiliates.
To improve the functions and usability of the image forming apparatus, an application that operates under an application operating environment, such as the Java™ environment, is created and installed in the image forming apparatus, whereby it is possible to realize desired functions in the image forming apparatus.
As an application platform, there has been proposed an OSGi (Open Services Gateway initiative) Service Platform (hereinafter simply referred to as the “OSGi”), which is an application platform for built-in devices, operating under an application operating environment such as Java™.
The OSGi defines a bundle as a management unit of a software module, and defines specifications for managing a life cycle of install, start, stop, update, and uninstall.
The bundle refers to a module, operating in an application operating environment such as Java™. Further, the OSGi can provide the application with built-in functions, such as a copy function, a scan function, and a print function.
Further, the specifications of the OSGi include a host bundle and a fragment bundle. The fragment bundle is a bundle in a form which does not operate singly, but attaches the bundle itself to a class loader space of the host bundle.
To correct or extend the application, the function of the host bundle is corrected or extended using the fragment bundle, whereby it is possible to reduce the size of a file to be installed, which contributes to efficient module distribution.
Under the above-described technical background, many of image forming apparatuses are not provided with a wealth of system resources in view of cost reduction. For this reason, to install or start an application, there has been proposed a technique that checks whether or not system resources required for proper operation of the application can be secured to thereby prevent occurrence of a failure or an erroneous operation of the apparatus (see e.g. Japanese Patent Laid-Open Publication No. 2011-243232).
However, in a case where a fragment bundle is installed, for example, amounts of resources required by an installed host bundle are sometimes increased. In this case, it is impossible for the amounts of the resources checked during installation or execution of the host bundle to guarantee the securing of the system resources required for proper operation of the application.
Further, some host bundles provided on the precondition of using a fragment bundle perform a function equipped in the fragment bundle instead of using a corresponding standard function of the host bundle.
In such a case, the required amounts of resources are sometimes reduced by the use of the fragment bundle. Therefore, uninstallation of the fragment bundle increases the amounts of resources required by the application, and hence, depending on the amounts of the resources, it is impossible to uninstall the fragment bundle alone.
As described above, in the conventional technique, when installing or uninstalling an application for extension, amounts of resources changed by installation or uninstallation of the application for extension are not taken into account.